home *** CD-ROM | disk | FTP | other *** search
/ MacWorld 1999 January - Disc 2 / Macworld (1999-01) (Disk 2).dmg / Serious Demos / Symbolic Composer 4.2 / Environment / Projects / Examples / More Examples / Using MIDI controllers < prev    next >
Text File  |  1998-10-26  |  1KB  |  45 lines

  1. >Say for instance I wanted to generate a sine wave that had 1024
  2. >samples, scrolled through all 128 MIDI values, and lasted exacted one
  3. >messure of 4/4 timing.  How would I accmplish that?
  4.  
  5. First define instrument synth that has both the melodic and controller
  6. components.
  7.  
  8. (def-orchestra 'orchestra
  9.    all-instruments (synth)
  10.    synth (synth_mel synth_cnt)
  11. )
  12.  
  13. Then define the values for both components, and then define the values
  14. for the components which differ. The _mel component has a symbol content 
  15. and length content and _cnt has a different length content and controller. 
  16. To calculate the number of samples needed use get-ratio. Note that the rate 
  17. that you send controllers is determined by the _cnt length. Use the same 
  18. value in the get-ratio to calculate the number of samples.
  19.  
  20. (def-section sect-a
  21.    synth
  22.       zone '(4/1)
  23.       tonality (activate-tonality (major c 4))
  24.       velocity '(64)
  25.       channel '(1)
  26.       symbol '(=)
  27.    synth_mel
  28.       length '(1/16)
  29.       symbol '(a b c)
  30.    synth_cnt
  31.       length '(1/32)
  32.       controller (mu80-controllers
  33.                     volume (list (gen-cresc 0 127 (/ (get-ratio '4/1 :ratio)
  34.                                                      (get-ratio '1/32 :ratio)))))
  35. )
  36.  
  37. (def-tempo 120)
  38.  
  39. (midiport :printer)
  40.  
  41. (play-file-p "controllers"
  42.    all-instruments '(sect-a)
  43. )
  44.  
  45.